Mail manufacturing virtualization

ABSTRACT

Mail manufacturing virtualization is performed at a centralized routing site. This includes receiving, from at least one mailing source, electronic mailing data associated with at least one mailing and determining a mail routing distribution for the received electronic mailing data. Similarly, mail manufacturing virtualization includes routing the electronic mailing data to a plurality of output centers according to the determined mail routing distribution, where the plurality of output centers are configured to generate physical mail from the electronic mailing data and facilitating sending the physical mail to at least one respective recipient.

This application is a continuation of prior U.S. patent application Ser. No. 12/345,685 filed Dec. 24, 2008, which is incorporated herein by reference in its entirety.

BACKGROUND

In distributing large quantities of mail pieces to large numbers of recipients, coordination and efficiency can become difficult to obtain. As a nonlimiting example in corporate mailing centers. mailing can become a logistical challenge due to the large number of national and/or multi-national recipients. Additionally, many current solutions fail to coordinate distribution of mail from mailing sources to output centers. As a non limiting example, some current solutions direct mailing data from mailing sources directly to output centers. As a result such solutions fail to efficiently generate and/or process mailing.

SUMMARY

Included are embodiments for mail manufacturing virtualization at a centralized routing site. At least one embodiment of a method includes receiving, from at least one mailing source, electronic mailing data associated with at least one mailing and determining a mail routing distribution for the received electronic mailing data. Similarly, some embodiments include routing the electronic mailing data to a plurality of output centers according to the determined mail routing distribution, wherein the plurality of output centers are configured to generate physical mail from the electronic mailing data and facilitate sending the physical mail to at least one respective recipient.

Also included are embodiments of a system. At least one embodiment of a system includes a memory component that stores logic configured to receive, from at least one mailing source, electronic mailing data associated with at least one mailing and logic configured to determine a mail routing distribution for the received electronic mailing data. Similarly, in some embodiments the memory component is configured to store logic configured to route the electronic mailing data to a plurality of output centers according to the determined mail routing distribution, wherein the plurality of output centers are configured to generate physical mail from the electronic mailing data and facilitate sending the physical mail to at least one respective recipient.

Also included are embodiments of a computer-readable medium. At least one embodiment of a computer-readable medium includes a program that, when executed by a computer, causes the computer to receive, from at least one mailing source, electronic mailing data associated with at least one mailing and determine a mail routing distribution for the received electronic mailing data. Similarly, in some embodiments, the program causes the computer to route the electronic mailing data to a plurality of output centers according to the determined mail routing distribution, wherein the plurality of output centers are configured to generate physical mail from the electronic mailing data and facilitate sending the physical mail to at least one respective recipient.

Other embodiments and/or advantages of this disclosure will be or may become apparent to one with skill in the art upon examination of the following drawings and detailed description. It is intended that all such additional systems, methods, features, and advantages be included within this description and be within the scope of the present disclosure.

BRIEF DESCRIPTION

Many aspects of the disclosure can be better understood with reference to the following drawings. The components in the drawings are not necessarily to scale, emphasis instead being placed upon clearly illustrating the principles of the present disclosure. Moreover, in the drawings, like reference numerals designate corresponding parts throughout the several views. While several embodiments are described in connection with these drawings, there is no intent to limit the disclosure to the embodiment or embodiments disclosed herein. On the contrary, the intent is to cover all alternatives, modifications, and equivalents.

FIG. 1 depicts an exemplary embodiment of network configuration, illustrating a plurality of devices that may be used for sending mail to at least one output center.

FIG. 2 depicts an exemplary embodiment of a receiving server that may be configured to operate in the environment of FIG. 1.

FIG. 3 depicts an exemplary embodiment of a process that may be utilized for routing mailings to one or more desired site, such as may be implemented in the environment of FIG. 1.

FIG. 4 depicts an exemplary embodiment of a process that may be utilized for manufacturing mail for mailing, similar to the diagram from FIG. 3.

FIG. 5 depicts an exemplary embodiment of a process that may be utilized for changing mail distribution, similar to the diagram from FIG. 4.

FIG. 6 depicts an exemplary embodiment of a process that may be utilized for rerouting mail distribution, similar to the diagram from FIG. 5.

DETAILED DESCRIPTION

FIG. 1 depicts an exemplary embodiment of network configuration, illustrating a plurality of devices that may be used for sending mail to at least one output center. As illustrated in the nonlimiting example of FIG. 1, one or more mailing sources 102 may be utilized for sending mailing data (and/or metadata) for indicating mailings to be made. The mailing sources 102 may include one or more client devices 102 a, 102 b, and 102 c, which may be implemented as personal computers (e.g., 102 a), laptop computers (e.g., 102 b), and/or mobile devices (e.g., 102 c) that utilize wireless communications protocols, such as via an access point 102 d. Additionally, while not explicitly illustrated, mailing sources may utilize one or more other devices, such as servers, routers, etc. In operation, the mailing sources 102 may be configured to determine pieces of mail that will be distributed to mail recipients. More specifically, in an exemplary embodiment, the mailing sources may be remotely located sites that determine billing data for customers. Each of the remotely located sites may determine the billing data for a predetermined set of customers based on any number of criteria, including based on geographic area of the customer, class of customer, and/or other criteria. The billing data can be compiled by each of the remotely located sites and sent, via a network 100, to a routing site 106.

The mailing sources may be coupled to the network 100, which may include a wide area network (WAN), such as the Internet, public switched telephone network (PSTN), mobile communications network, and/or other WAN. Similarly, in some embodiments, the network 100 can include a local area network (LAN) and/or other network. The network 100 may also be coupled to the routing site 106.

Additionally, the routing site 106 may be configured as a centrally located site for receiving and processing mailing data. As a nonlimiting example, the routing site 106 may include a receiving server 106 a and a processing server 106 b. In operation, the receiving server 106 a may be configured to receive mailing data (and/or metadata) from at least one of the mailing sources 102. The receiving server 106 a may also be configured to store at least a portion of the mailing data received from the mailing sources. Storage of the mailing data (and/or metadata) may be facilitated by a data storage component 108, which may be part of the receiving server and/or, as illustrated in FIG. 1, as an external component that is coupled the receiving server 106 a.

Additionally, the receiving server 106 a may be coupled to the processing server 106 b. The processing server 106 b may be configured to receive data from the receiving server 106 a. Additionally, the processing server 106 b may be configured to determine a technique for allocating the mailing data (and/or metadata) to one or more outputting centers 110. As a nonlimiting example, the processing server 106 b can receive an algorithm for determining desired routing for the mailing data (and/or metadata). The algorithm may be received from a user and/or administrator and may be based on a service level agreement (SLA), material requirements for the mailing data and/or metadata (e.g., the mail requires a certain size and/or type of paper that is only provided by a subset of the output centers), personnel resources, capacity of one or more of the output centers 110, mail cost for sending mail from one or more of the output centers 110, etc. The algorithm may be utilized as described in U.S. application Ser. No. 12/343,687 filed Dec. 24, 2008 entitled “Batch Size Optimization” and Ser. No. 12/343,698 filed Dec. 24, 2008, entitled “Rolling View Virtualization”, both of which are incorporated by reference in there entireties.

Also included in the nonlimiting example of FIG. 1 are the output centers 110. The output centers 110 may be located separately from each other and may each be configured to receive the mailing data (and/or metadata) from the processing server. The output centers 110 may be configured to generate mail based on the received mailing data (and/or metadata) and send the generated mail to a post office for mailing. Additionally, the output centers 110 may be configured to determine which mail is properly received by an intended recipient and report this determination back to the receiving server 106 a. From this data, the receiving server 106 a may reprocess this data with newly received mailing data (and/or metadata) to redistribute to the output centers 110.

FIG. 2 depicts an exemplary embodiment of a receiving server 106 a that may be configured to operate in the environment of FIG. 1. Although a wire-line device (e.g., the receiving server 106 a) is illustrated, this discussion can be applied to wireless devices, as well. According to exemplary embodiments, in terms of hardware architecture, the receiving server 106 a includes a processor 282, a memory component 284, a display interface 294, data storage 295, one or more input and/or output (I/O) device interface(s) 296, and/or one or more network interfaces 298 that are communicatively coupled via a local interface 292. The local interface 292 can include, for example but not limited to, one or more buses and/or other wired or wireless connections. The local interface 292 may have additional elements, which are omitted for simplicity, such as controllers, buffers (caches), drivers, repeaters, and receivers to enable communications. Further, the local interface 292 may include address, control, and/or data connections to enable appropriate communications among the aforementioned components. The processor 282 may be a device for executing software, particularly software stored in the memory component 284. The processor 282 can include any custom made or commercially available processor, a central processing unit (CPU), an auxiliary processor among several processors associated with the receiving server 106 a, a semiconductor based microprocessor (in the form of a microchip or chip set), a macroprocessor, and/or generally any device for executing software instructions.

The memory component 284 can include anyone or combination of volatile memory elements (e.g., random access memory (RAM, such as DRAM, SRAM, SDRAM, etc.)) and/or nonvolatile memory elements (e.g., flash memory, read only memory (ROM), hard drive, tape, CORaM, etc.). Moreover, the memory component 284 may incorporate electronic, magnetic, optical, and/or other types of storage media. One should note that the memory component 284 can have a distributed architecture (where various components are situated remote from one another), but can be accessed by the processor 282.

The software in the memory component 284 may include one or more separate programs, which may include an ordered listing of executable instructions for implementing logical functions. In the example of FIG. 2, the software in the memory component 284 may include receiving logic 288 and processing logic 299 (which may include one or more logical components that are executed by a processor), as well as an operating system 286. The operating system 286 may be configured to control the execution of other computer programs and provides scheduling, input-output control, file and data management, memory management, and communication control and related services. The receiving logic 288 may be configured to receive mailing data (and/or metadata), as described in more detail below. Additionally, processing logic 299 may be configured to facilitate communication of the mailing data (and/or metadata) to one or more output centers, as also described in more detail, below.

In at least one embodiment, the receiving logic 288 and processing logic 299 may be configured as a system component and/or module embodied as software and may also be construed as a source program, executable program (object code), script, and/or any other entity that includes a set of instructions to be performed. When constructed as source programs, the receiving logic 288 and processing logic 299 may be translated via a compiler, assembler, interpreter, or the like (which mayor may not be included within the memory component 284) so as to operate properly in connection with the operating system 286.

The input/output devices that may be coupled to the system I/O interface(s) 296 may include input devices, for example but not limited to, a keyboard, mouse, scanner, touch screen, microphone, etc. Further, the input/output devices may also include output devices, for example but not limited to, a printer, display, speaker, etc. Additionally, the input/output devices may further include devices that communicate both as inputs and outputs, for instance but not limited to, a modulator/demodulator (modem; for accessing another device, system, or network), a radio frequency (RF) or other transceiver, a telephonic interface, a bridge, a router, etc.

Additionally included are one or more of the network interfaces 298 for facilitating communication with one or more other devices. More specifically, network interface 298 may include any component configured to facilitate a connection with another device. While in some embodiments, among others, the receiving server 106 a can include the network interface 298 that includes a personal computer memory card international association (PCMCIA) card (also abbreviated as “PC card”) for receiving a wireless network card, this is a non limiting example. Other configurations can include the communications hardware within the receiving server 106 a, such that a wireless network card is unnecessary for communicating wirelessly. Similarly, other embodiments include the network interfaces 298 for communicating via a wired connection. Such interfaces may be configured with Universal Serial Bus (USB) interfaces, serial ports, and/or other interfaces.

If the receiving server 106 a includes a personal computer, workstation, or the like, the software in the memory component 284 may further include a basic input output system (BIOS) (omitted for simplicity). The BIOS is a set of software routines that initialize and test hardware at startup, start the operating system 286, and support the transfer of data among the hardware devices. The BIOS is stored in ROM so that the BIOS can be executed when the receiving server 106 a is activated.

When the receiving server 106 a is in operation, the processor 282 may be configured to execute software stored within the memory component 284, to communicate data to and from the memory component 284, and to generally control operations of the receiving server 106 a pursuant to the software. Software in the memory component 284, in whole or in part, may be read by the processor 282, perhaps buffered within the processor 282, and then executed.

One should also note that while the description with respect to FIG. 2 includes the receiving server 106 a as a single component, this is a nonlimiting example. More specifically, in at least one embodiment, the receiving server 106 a can include a plurality of servers, personal computers, telephones, and/or other devices. Similarly, while the description of FIG. 2 describes the receiving server 106 a as a server device, this is also a nonlimiting example. More specifically, depending on the particular exemplary embodiment, other components, such as the client device 102 c and/or the access point 102 d may include similar elements and/or logic.

Additionally, while the receiving logic 288 and the processing logic 299 are each illustrated in FIG. 2 as including a single software component, this is also a nonlimiting example. In at least one embodiment, the receiving logic 288 may include one or more components, embodied in software, hardware, and/or firmware. Similarly, in at least one embodiment, the processing logic 299 may include one or more components, embodied in software, hardware, and/or firmware. Additionally, while the receiving logic 288 and the processing logic 299 are depicted as residing on a single device, such as the receiving server 106 a, the receiving logic may reside on one or more devices (e.g., receiving server 106 a) and the processing logic 299 may also reside on one or more different devices (e.g., processing server 106 b). As a nonlimiting example, in some exemplary embodiments, the receiving logic 288 may reside on the receiving server 106 a and the processing logic 299 may reside on the processing server 106 b. However this is not a requirement.

FIG. 3 depicts an exemplary embodiment of a process that may be utilized for routing mailings to one or more desired site, such as may be implemented in the environment of FIG. 1. As illustrated in the nonlimiting example of FIG. 3, the process may include receiving mailing data and/or metadata at the routing site 106 (block 332). Additionally, the routing site 106 can determine a desired mailing distribution, based on a rules-based algorithm (block 334). As discussed above, while in this exemplary embodiment, the desired mailing distribution is based on a rules-based algorithm, other configurations (such making determinations based on user preferences, etc.) are also contemplated.

As also included in the nonlimiting example of FIG. 3, at least a portion of the mailing data (and/or metadata) can be routed to at least one output center 110, based on the determined distribution (block 336). Additionally, the routing site 106 can receive an update of mailing status from the at least one output center 110 (block 338). The routing site 106 can then determine, based on the updated status, at least one action for mail that was not sent (block 340).

As a nonlimiting example, the output centers 110 can send updated data related to whether the mailing data was mailed. If one or more pieces of mail was damaged and/or otherwise was not mailed, an indication of this can be sent back to the routing site 106. The routing site can receive the updated data and combine the updated data with newly received mail data (and/or metadata) for distribution to the output centers 110.

FIG. 4 depicts an exemplary embodiment of a process that may be utilized for manufacturing mail for mailing, similar to the diagram from FIG. 3. As illustrated in the nonlimiting example of FIG. 4, mail data (and/or metadata) may be received at an output center 110 (block 432). The output center 110 can manufacture mail for mailing (block 434). Manufacturing the mail can include printing the mailing data and packaging the mailing data into an envelope for mailing. Additionally, the output centers 110 can determine the status of the manufactured mail (block 436). As a nonlimiting example, each output center 110 can determine whether mail that was processed at that output center 110 was actually mailed. If mail is damages or otherwise has problems, the mail may not be sent. The output centers 110 can then send an update to the routing site 106 regarding the status of the mail that that output center 110 received (block 438).

FIG. 5 depicts an exemplary embodiment of a process that may be utilized for changing mail distribution, similar to the diagram from FIG. 4. As illustrated in the nonlimiting example of FIG. 5, an output center 110 can receive mail data (and/or metadata), as distributed from the routing site 106 (block 532). The output center 110 can provide at least one option to change the mail distribution (block 534). As a nonlimiting example, the output centers 110 may include one or more client devices that provide a user interface for viewing and/or modifying mail distribution to one or more of the output centers. The user interface may be configured to receive user changes to the mail distribution algorithm. Upon making the changes, the routing site 106 can route mail according to the change mail distribution. Accordingly, the output centers 110 can receive mailing data (and/or metadata) pursuant to the changed mail distribution (block 536), as well as generate and send the mail to the recipients.

FIG. 6 depicts an exemplary embodiment of a process that may be utilized for rerouting mail distribution, similar to the diagram from FIG. 5. As illustrated in the nonlimiting example of FIG. 6, the routing site 106 can send mailing data (and/or metadata) to at least one output center 110 based on at least one predetermined rule (block 632). The routing site 106 can receive a user request to change the mail distribution (block 634). As discussed above, the user request can be received via a user interface provided at an output center 110. Similarly, some embodiments may be configured to provide a user interface at the routing site and/or at one or more of the mailing sources 102. Additionally, at least one exemplary embodiment may be configured to provide the user interface via the network 100 (FIG. 1), separate from the mailing sources 102, routing site 106, and/or output centers 110.

Additionally, the routing site 106 may determine whether the change request violates the at least one predetermined rule (block 636). If the change violates at least one predetermined rule, the routing center can send a message indicating that the change would violate a rule for routing (block 638). If however, a determination is made that the request does not violate at least one rule, the routing site 106 can determine a rerouting scheme according to the received request (block 640). The routing site 106 can send mailing data (and/or metadata) to the at least one output center 110, based on the determined rerouting (block 642).

The embodiments disclosed herein can be implemented in hardware, software, firmware, or a combination thereof. At least one embodiment, disclosed herein is implemented in software and/or firmware that is stored in a memory and that is executed by a suitable instruction execution system. If implemented in hardware, as in an alternative embodiment embodiments disclosed herein can be implemented with any or a combination of the following technologies: a discrete logic circuit(s) having logic gates for implementing logic functions upon data signals, an application specific integrated circuit (ASIC) having appropriate combinational logic gates, a programmable gate array(s) (PGA), a field programmable gate array (FPGA), etc.

One should note that the flowcharts included herein show the architecture, functionality, and operation of a possible implementation of software. In this regard, each block can be interpreted to represent a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s). It should also be noted that in some alternative implementations, the functions noted in the blocks may occur out of the order and/or not at all. For example, two blocks shown in succession may in fact be executed substantially concurrently or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved.

One should note that any of the programs listed herein, which can include an ordered listing of executable instructions for implementing logical functions, can be embodied in any computer-readable medium for use by or in connection with an instruction execution system, apparatus, or device, such as a computer-based system, processor-containing system, or other system that can fetch the instructions from the instruction execution system, apparatus, or device and execute the instructions. In the context of this document, a “computer-readable medium” can be any means that can contain, store, communicate, or transport the program for use by or in connection with the instruction execution system, apparatus, or device. The computer readable medium can be, for example but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device. More specific examples (a nonexhaustive list) of the computer-readable medium could include an electrical connection (electronic) having one or more wires, a portable computer diskette (magnetic), a random access memory (RAM) (electronic), a read-only memory (ROM) (electronic), an erasable programmable read-only memory (EPROM or Flash memory) (electronic), an optical fiber (optical), and a portable compact disc read-only memory (COROM) (optical). In addition, the scope of the certain embodiments of this disclosure can include embodying the functionality described in logic embodied in hardware or software-configured mediums.

One should also note that conditional language, such as, among others, “can,” “could,” “might,” or “may,” unless specifically stated otherwise, or otherwise understood within the context as used, is generally intended to convey that certain embodiments include, while other embodiments do not include, certain features, elements and/or steps. Thus, such conditional language is not generally intended to imply that features, elements and/or steps are in any way required for one or more particular embodiments or that one or more particular embodiments necessarily include logic for deciding, with or without user input or prompting, whether these features, elements and/or steps are included or are to be performed in any particular embodiment.

It should be emphasized that the above-described embodiments are merely possible examples of implementations, merely set forth for a clear understanding of the principles of this disclosure. Many variations and modifications may be made to the above-described embodiment(s) without departing substantially from the spirit and principles of the disclosure. All such modifications and variations are intended to be included herein within the scope of this disclosure. 

Therefore, at least the following is claimed:
 1. A method comprising: receiving electronic mailing data associated with a mailing; routing the electronic mailing data to a first of a plurality of output centers according to a mail routing distribution, the plurality of output centers to generate physical mail from the electronic mailing data and facilitate sending the physical mail to a recipient; receiving a status update of the physical mail from the first of the plurality of output centers, the status update indicating the physical mail was not received by the recipient; based on the status update, rerouting the electronic mailing data associated with physical mail not received by the recipient to a second of the plurality of output centers, wherein the physical mail not received by the recipient is regenerated and mailed at the second of the plurality of output centers in response to the rerouting of the electronic mail data; and receiving a routing change for future electronic mailing data, wherein the routing change for future electronic mailing data identifies one of the plurality of output centers different from the first of the plurality of output centers.
 2. The method of 1 wherein the routing change is received via a user interface.
 3. The method of claim 1 wherein the electronic mailing data comprises metadata.
 4. The method of claim 1 wherein the status update further indicates that the physical mail was not successfully sent.
 5. The method of claim 1 further comprising: receiving billing data from the first of the plurality of output centers regarding the physical mail.
 6. An apparatus comprising: a processor; and a memory to store computer program instructions, the computer program instructions when executed on the processor cause the processor to perform operations comprising: receiving electronic mailing data associated with a mailing; routing the electronic mailing data to a first of a plurality of output centers according to a mail routing distribution, the plurality of output centers to generate physical mail from the electronic mailing data and facilitate sending the physical mail to a recipient; receiving a status update of the physical mail from the first of the plurality of output centers, the status update indicating the physical mail was not received by the recipient; based on the status update, rerouting the electronic mailing data associated with physical mail not received by the recipient to a second of the plurality of output centers, wherein the physical mail not received by the recipient is regenerated and mailed at the second of the plurality of output centers in response to the rerouting of the electronic mail data; and receiving a routing change for future electronic mailing data, wherein the routing change for future electronic mailing data identifies one of the plurality of output centers different from the first of the plurality of output centers.
 7. The apparatus of claim 6 wherein the routing change is received via a user interface.
 8. The apparatus of claim 6 wherein the electronic mailing data comprises metadata.
 9. The apparatus of claim 6 wherein the status update further indicates that the physical mail was not successfully sent.
 10. The apparatus of claim 6, the operations further comprising: receiving billing data from the first of the plurality of output centers regarding the physical mail.
 11. A non-transitory computer readable medium storing computer program instructions for mail manufacturing virtualization, which, when executed on a processor, cause the processor to perform operations comprising: receiving electronic mailing data associated with a mailing; routing the electronic mailing data to a first of a plurality of output centers according to a mail routing distribution, the plurality of output centers to generate physical mail from the electronic mailing data and facilitate sending the physical mail to a recipient; receiving a status update of the physical mail from the first of the plurality of output centers, the status update indicating the physical mail was not received by the recipient; based on the status update, rerouting the electronic mailing data associated with physical mail not received by the recipient to a second of the plurality of output centers, wherein the physical mail not received by the recipient is regenerated and mailed at the second of the plurality of output centers in response to the rerouting of the electronic mail data; and receiving a routing change for future electronic mailing data, wherein the routing change for future electronic mailing data identifies one of the plurality of output centers different from the first of the plurality of output centers.
 12. The non-transitory computer readable medium of claim 11 wherein the routing change is received via a user interface.
 13. The non-transitory computer readable medium of claim 11 wherein the status update further indicates that the physical mail was not successfully sent.
 14. The non-transitory computer readable medium of claim 11, the operations further comprising: receiving billing data from the first of the plurality of output centers regarding the physical mail. 